package com.zhl.arraylist;

import java.util.ArrayList;
/*
掌握从容器中找出某些数据并成功删除的技巧
        需求：
            现在假如购物车中存储了如下这些商品，java入门、黑枸杞、人字拖
          特级枸杞、枸杞子。现在用户不想买枸杞了，选择了批量删除，请完成该需求。

          分析：
            1.购物车存储在一个ArrayList中。
            2.遍历ArrayList,找到所有枸杞相关的商品，并将其删除。
            3.删除成功后，重新展示购物车。
 */
public class ArrayListTest2 {
    public static void main(String[] args) {

        //1.创建一个ArrayList集合对象  因为是商品的名字,所以使用 String 类型
        ArrayList<String> list = new ArrayList<>();
        list.add("枸杞");
        list.add("java入门");
        list.add("黑枸杞");
        list.add("人字拖");
        list.add("特级枸杞");
        list.add("枸杞子");
        System.out.println(list);

        //2.找出与枸杞相关的商品并删除
        //方法一：从前往后删除
        /*for (int i = 0; i < list.size(); i++) {
            //取出当前遍历到的数据
            String str = list.get(i);
            //判断是否包含"枸杞"
            if (str.contains("枸杞")) {
                //删除该数据
                list.remove(i);
                //因为删除了数据,所以i需要减1
                i--;
            }
        }*/
        //方法二：从后往前删除
        for (int i = list.size() - 1; i >= 0; i--) {
            //取出当前遍历到的数据
            String str = list.get(i);
            //判断是否包含"枸杞"
            if (str.contains("枸杞")) {
                //删除该数据
                list.remove(i);
            }
        }

        //3.重新展示购物车
        System.out.println(list);

    }
}
